/*
 * Copyright (C), 2002-2017, 南京苏宁软件技术有限公司
 * FileName: ExchangeActivityDao.java
 * Author:   10070706
 * Date:     2017年5月4日 下午2:45:33
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.suning.sawp.intf.dao.exchange;

import java.util.List;

import com.suning.sawp.po.exchange.ExchangeActivity;
import com.suning.sawp.po.exchange.ExchangeActivityRule;
import com.suning.sawp.vo.exchange.ActivityRuleVo;

/**
 * 〈以旧换新活动Dao〉<br>
 *
 * @author 10070706
 */
public interface ExchangeActivityDao {
	/**
	 * 
	 * 功能描述: 根据id，使用in的方式查询所有已经配置的活动<br>
	 * 
	 * @param activityIds
	 * @return
	 */
	List<String> queryExchangeActivity(List<String> activityIds);

	/**
	 * 
	 * 功能描述: 查询活动规则<br>
	 * 
	 * @param activityIds
	 * @return
	 */
	List<ActivityRuleVo> queryActivityRule(List<String> activityIds);

	/**
	 * 
	 * 功能描述: 根据id，使用in的方式查询所有已经配置的活动<br>
	 * 
	 * @param activityIds
	 * @return
	 */
	List<ExchangeActivity> queryExchangeActivityInfo(List<String> activityIds);

	/**
	 * 查询活动中的活动
	 *
	 * @return
	 */
	public List<ExchangeActivity> queryActivityList();

	/**
	 * 根据活动id查询活动
	 *
	 * @param activityId
	 * @return
	 */
	public ExchangeActivity findActivityById(String activityId);

	/**
	 * 根据活动id，查询活动规则
	 */
	public List<ExchangeActivityRule> queryActivityRulesByActivityId(String activityId);

	/**
	 * 保存或更新已经换新的促销活动
	 *
	 * @param activity
	 */
	public void saveActivity(ExchangeActivity activity);

	/**
	 * 
	 * 批量新增活动规则
	 *
	 * @param activityRules
	 */
	public boolean batchSaveActivityRule(List<ExchangeActivityRule> activityRules);

	/**
	 * 
	 * 功能描述: <br>
	 * 〈功能详细描述〉
	 *
	 * @param activityId
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	public void delActivityRulesByActivityId(String activityId);
}
